[硕士论文精品]一种基于fpga的新型谐波分析仪研究_第1页
[硕士论文精品]一种基于fpga的新型谐波分析仪研究_第2页
[硕士论文精品]一种基于fpga的新型谐波分析仪研究_第3页
[硕士论文精品]一种基于fpga的新型谐波分析仪研究_第4页
[硕士论文精品]一种基于fpga的新型谐波分析仪研究_第5页
已阅读5页,还剩109页未读 继续免费阅读

[硕士论文精品]一种基于fpga的新型谐波分析仪研究.pdf 免费下载

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

文档简介

一种基于FPGA的新型谐波分析仪研究摘要随着技术的飞速发展,电力电子装置如变频设备、变流设备等容量日益扩大,数量臼益增多,使得电网中的谐波污染日益严重,给电力系统和各类用电设备带来危害,轻则增加能耗,缩短设备使用寿命,重则造成用电事故,影响安全生产。电力系统中的谐波问题早在20世纪20年代就引起了人们的注意。近年来,产生谐波的设备类型及数量均已剧增,并将继续增长,谐波造成的危害也日趋严重。本论文分析比较了传统测量谐波装置和基于FPGA的新型谐波测量仪器的特性。分析了基于FFT的谐波测量方法,综述了可编程元器件的发展过程、主要工艺发展及目前的应用情况,并介绍了一种主流硬件描述语言VERILOGHDL的语法及其具体应用。分析了高速数字信号系统的信号完整性问题,提出了使用FPGA实现的整合处理器解决高速数字系统信号完整性问题的方法,并比较分析了各种主流的整合处理器解决方案的优缺点。分析了使用实时操作系统进行复杂嵌入式系统软件开发的优缺点,并在本系统软件开发中成功移植应用了实时操作系统UCOSII,改造了该操作系统中内存管理方式。研究了使用FPGA实现FFT算法的优缺点,对比分析了主要硬件实现架构的性能和优缺点,提出了一种基于浮点数的FFT算法FPGA实现架构,详细设计了基于浮点数的硬件乘法器和加法器。该设计架构运行稳定,计算速度快捷。并通过实际仿真验证了该设计的正确性和优越性。最终通过以上工作设计实现了一种新型的基于FPGA的谐波测量仪,该仪器的变送单元和采样单元通过实际型式试验检验,符合设计要求。该仪器的FPGA单元通过系统仿真,符合设计要求。关键词FPGAVCRILOGHDL;NIOS;谐波;实时操作系统FGR硕士学位论文ABSTRACTWITHTHEDEVELOPMENTOFTECHNOLOGY,POWERELECTRICDEVICESUCHASFREQUENCYCONVERTERBECOMEMOREANDMOREPOWERFULANDITSNUMBERINCREASEDQUICKLYHARMONICPROBLEMBECOMEMOREANDMORESERIOUS,ANDTAKEMOREDAMAGETOOTHERELECTRICDEVICE,THEDAMAGEINCLUDEINCREASINGOFPOWERCONSUME,SHORTAGEOFDEVICELIFE,MORESERIOUSDAMAGECOULDCREATEPOWERACCENTANDAFFECTTHEPRODUCTTHEHARMONICPROBLEMNOTICEPEOPLEIN20CENTURY80STHESOURCEOFHARMONICBECOMEMOREANDWIDERINRECENTYEAR,ANDTHESOURCENUMBERINCREASEQUICKLYANDWOULDKEEPINCREASING,ANDTHEIRAFFECTBECOMEMOREANDMORESERIOUSINTHISPAPERTHEAUTHORDISCUSSESTHECHARACTEROFTRADITIONALHARMONICANALYZERANDHARMONICANALYZERDEVICEBASEONFPGA,ANALYZETHEPROCESSOFHARMONICDETECTIONBASEONFFTWEDISCUSSTHEPROMISEANDPROBLEMSOFREPROGRAMMABLESYSTEMS,ANDITDEVELOPMENTONBOTHTECHNOLOGYANDAPPLICATION,ANDINTRODUCEVERILOGHDLSSYNTAXANDAPPLICATIONWEDISCUSSTHEPROBLEMOFHIGHSPEEDDIGITALSYSTEMSSIGNALINTEGRITY,THESOLUTIONOFHIGHSPEEDDIGITALSYSTEMSSIBYTHEUSEOFEMBEDDEDPROCESSORINFPGAAREPRESENTWEDISCUSSTHEMAJORSOLUTIONOFEMBEDDEDPROCESSORINFPGAWEANALYZETHEPROMISEANDPROBLEMSOFRTOS,ANDPORTTHEUCOSIIINOURDEVICE,THEIMPROVEMENTOFMEMORYMANAGEMENTAREPRESENTWEANALYZETHEPROMISEANDPROBLEMSOFPROCESSFFTBASEONFPGAWEDISCUSSTHEFRAMESTRUCTUREOFIMPLEMENTATIONOFF订INFPGA,SEVERALFRAMEAREPRESENTANDANALYZED,FINALLYANEXCELLENTIMPLEMENTATIONFRAMEBASEONFLOATPOINTNUMBERISPRESENTEDTHEDETAILDESIGNOFMULTIPLIERANDADDERAREALSOPRESENTTHESIMULATIONPROVETHECORRECTINGANDEXCELLENTOFTHISDESIGN。FINALLYANNEWTYPEHARMONICANALYZERBASEONFPGAAREDESIGNBASEONTHOSEWORKS,ANDMEETTHEREQUIREMENTOFTHECUSTOMKEYWORDSFPGA;VERILOGHDL;NIOS;HARMONIC;RTOSFFR一湖南大学学位论文原创性声明本人郑重声明所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名日期舀午年文月铲日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密口,在年解密后适用本授权书。2、不保密团。请在以上相应方框内打“4”作者签名导师签名日期D咩年文月中日日期钟作A月厂日硕士学位论文第1章绪论本章阐述了电网谐波的产生主要原因,谐波的危害性以及谐波测量在电力系统中的重要性分析了当前谐波测量的主要方法,叙述了各种主要方法的优缺点;探讨了在谐波测量中使用FPGA现场可编程器件的优缺点。11谐波的危害及测量的重要性随着技术的飞速发展,电力电子装置如变频设备、变流设备等容量同益扩大,数量日益增多,使得电网中的谐波污染日益严重,给电力系统和各类用电设备带来危害,轻则增加能耗,缩短设备使用寿命,重则造成用电事故,影响安全生产。在理想的供电系统中,电流和电压均为正弦波。在只含线性元件电阻、电感及电容的简单电路里,流过电路的电流与施加的电压成正比,所以流过的电流也是正弦波。在实际的供电系统中,由于有非线性负荷的存在,当电流流过与所加电压呈非线性关系的负荷时,就形成非正弦电流。根据傅立叶原理任何周期性波形均可分解为基频正弦波与其他谐波频率的正弦波叠加之和。谐波频率为基频的整倍数,例如基频为50HZ,二次谐波为100HZ,三次谐波则为150HZ,在实际电力电路中可能含有从二次到无穷多次的谐波分量【L。】。谐波对公用电网和其他系统均能产生较大危害,因此,消除谐波污染,把谐波含量控制在允许范围内,已成为主管部门和用电单位的共同奋斗目标。目前,电力系统中的接入设备类型多,分布广,用户电网中的谐波电流可能来自系统本身的非线性设备,也可能来自外线路。因此进行谐波治理之前必须进行准确的谐波测量。谐波测量是谐波治理的重要前提条件,也是分析解决谐波治理问题的基本出发点。12谐波测量方法及谐波测量仪121谐波测量的主要方式目前谐波测量的主要方式有1采用模拟滤波器测量谐波最早的谐波测量是采用模拟滤波器实现。即采用带阻滤波器将基波分量滤除,得到谐波分量,或采用带通滤波器得出基波分量,再与被检测量相减得到谐波分量。该检测方法的优点是电路结构简单,造价低,输出阻抗低,品质因素易于控制。但也有很多缺点,如滤波器的中心频率对元件参数十分敏感,模拟元器件的特性会随温度等外界环境因素变化而变化,性能受外界影响较大;当电网频率发1一种基于FPGA的新型谐波分析仪研究生波动时,实际频率偏移了滤波器中心频率,使得检测出的谐波电流中含较多的基波分量,其测量精度很难提高现实中无法设计获得理想的模拟滤波器,从而在滤波的同时在系统中引入了新的谐波分量,导致系统误差增大。2基于傅立叶变换的谐波测量随着计算机和微电予技术的发展,基于傅立叶变换的谐波测量是当今应用最多也是最广的一种方法。它的核心理论建立在傅立叶变换的基础上。根据傅立叶变换理论,将模拟信号经采样变成离散化数字序列信号后,输入微型计算机进行DFT变换,计算得到基波和频率为基波频率整数倍的备次谐波的幅值和相位,然后将计算获得的数据显示在屏幕上或存放在磁盘中供将来统计使用。3利用小波分析方法进行谐波测量小波分析作为调和分析的重大进展,克服了傅立叶变换在频域完全局部化而在时域完全无局部性的缺点,即它在频域和时域同时具有局部性。利用小波变换能将电力系统中产生的高次谐波变换投影到不同的尺度上会明显地表现出高频、奇异高次谐波信号的特性,特别是小波包具有将频率空间进一步细分的特性,将为谐波分析提供可靠依据;通过对含有谐波的电流信号进行正交小波分解,利用多分辨的概念,将低频段高尺度上的结果看作不含谐波的基波分量,基于这种算法,可以利用软件构成谐波检测环节,同时由于其计算速度快,能快速跟踪谐波的变化3叫。小波变换应用在谐波测量方面尚处于初始阶段,目前没有实际产品投入市场,也没有相关国际和国家标准制定小波变换在谐波测量方面的应用规范。122谐波测量相关国家标准我国已于1993年颁布了限制电力系统谐波的国家标准电能质量公用电网谐波,规定了公用电网谐波电压限值和用户向公用电网注入谐波电流的允许值见表11及表12。电压或电流的正弦波形受谐波影响而畸变的程度用谐波电压或电流含有率表示15“】HRVNUNU110011HRININH10012式中俑、为第13次谐波电压、电流有效值;UT、,1为基波电压、电流有效值。表11公用电网谐波电压相电压极限值15】电网标称电压电压总谐波畸变各次谐波电压含有率KV率奇次偶次61040321635663024121102O16O82硕士学位论文表12注入公共连接点的谐波电流允许值5标准谐波次数及最大电流值A电压23456789101112KAO387862396226441921162813643342134152411LL851671102620132084156468519343351512771251883841315626661613811354934143335927110129660964068303224432O按照GBT176267的规定测量仪器精度分为A级精度和B级精度,其具体要求为表13最大测量误差【6级别被测值条件最大允许误差U。1【,5E厂卅电压UM255时为溢出OVERFLOW;情况5为ZERO。522浮点数加减法浮点数的加法过程如下1选择两个浮点数中指数小的数字,将其尾数连同首位默认的1一同右移到和指数大的数字相同的指数为止。2将指数大的数字的尾数连接首位默认的1,然后加上上一步移位得到的数字。3将结果进行格式整理,处理成为标准的浮点数。因为两个N位的二进制数相加,其结果可能为NL位,当发生进位时,只需将结果右移一位,然后将指数加L就获得了标准的浮点数58“11。浮点数的减法相当于加上减数的补码,在此不仔细描述。523基于VERILOGHDL的浮点数加法器设计根据IEEE754规范的定义可以设计出基于VERILOGHDL的浮点数加法器,结一种基于FPGA的新型谐波分析仪研究构如图510DATAADATABP。N。MALL2。LL,ADDPOST_NORMALIZERESULT图510浮点数加法器结构图510中输入数据DATAA、DATAB和输出结果RESULT均为32位标准浮点数;模块PRENORMALIZE的作用是在输入的两个数据中选择两个浮点数中指数小的数字,将其尾数连同首位默认的1一同右移到和指数大的数字相同的指数为止,形成一个新的27位二进制加数,然后将指数大的数字的尾数连接首位默认的L,形成另一个新的27位二进制加数;模块ADD的作用是将两个新的加数相加减,结果为28位二进制数,指数为原来较大的指数;模块POSTNORMALIZE的作用是把上一步得到的结果重构成为标准的浮点数【61621。5231模块PRENORMALIZE具体执行过程1将输入的两个标准32位浮点数进行分解,分成符号位、8位指数部分和23位尾数部分。该部分的FPGA实现非常简单,由于FPGA中所有门电路之间的连接均可指定,因此只需将输入信号的对应位分别接入符号位寄存器、指数寄存器和余数寄存器即可实现信号分解。2比较两个8位的指数,选择较大者作为基本指数,并且计算出两者之间的差N。判断是否两个指数有为零者,如果有一个为零,则该数值接近零,需要进行进位补偿如果两个均为零,则直接设置基本指数为零,并对两个数均进行进位补偿。设置结果符号位为指数较大者符号,如两者指数相等,则选择余数较大者的符号为结果符号。3对指数小者进行移位处理,首先在第24位置位,然后向右移N位,移位时在左侧补零,移位结束后如需进位补偿则在最后一位进行进位补偿对于指数大者直接对第24位置位。如果两个加数符号位相异,则将符号位为L者取补码。硕士学位论文最后通过在左侧补零的方式扩充两个余数成为两个27位二进制数。使用FPGA寄存器的灵活连接性可以方便实现移位操作,只需将两个寄存器错位相联即可实现移位操作。在此进行数据位数扩充目的是为了提高计算的精度,防止数据溢出。4输出两个27位结果数字和它们各自的符号位,并且输出基本指数作为下一步处理的指数,输出结果符号位为最终结果的符号位。5232超前进位全加器ADD在数字电路设计中,为了提高运算速度,通常设计使用的是超前进位的全加器。52321超前进位链设计1串行加法器首先考虑一位全加器如图511示,D、CO逻辑表达式为DA“B“CI57式中A、B为加数,CI为进位COABI爿L功CI58式中CO为向高位进位CI图511一位全加器由四个一位全加器构成的串行四位全加器如图512所示CO图512串行四位全加器可见高位的计算必须等低位的进位到达后才能进行,如果进行32位的加法运算就必须等待31个时钟后才能得到结果。由此可以得出结论运算的延迟主要是进位引起的延迟,如果能有效减少进位的延迟就可以大幅缩减加法运算的时间。2超前进位链设计重新改写式56CI叫一盛L一,I届G59可以发现向高进位取决于两个条件彳,BTL或一,I踟CLL,可以定义两个函一种基于FPGA的新型谐波分析仪研究数进位产生函数GI和进位传输函数PIGT彳T届510只AIL及511进位产生函数GI的含义为如果GI为L,则向高位产生进位;进位传输函数PI的含义为如果PI为1,则向高位传递低位的进位。将式510和式511代入式59可得CFLGILPIG512对式512进行迭代可得4位的超前进位链CIG1IPLCO513C2G2LJP2GLL尸LC0514C3G3LP3G2LP2GII尸1C0515C4G4IP4G3IP3G2IP2GLLPLCO516逻辑结构图如图513所示C3C2C1CO图5134位超前进位链总的系统延迟为两级门电路延迟,所需的门电路为LO个AND门和4个OR门。其VERILOGHDL代码为;GILLI|1LLI7RLI七J1卜、广_ELLL厂L衙吲拶GILL上J一常吵坼岁R,上10JJD、L;ICR。1。FGIL_、只L上飞WPJ|只,、1L|脚叫L一肝了一衙硕士学位论文表中CLK为输入的系统时钟;OPARANDA,、OPARANDB为两个加数;CARRYLN为低位的进位;RESULT为输出结果;POU、GOUT为输出的最高位进位产生函数GI和进一种基于FPGA的新型谐波分析仪研究位传输函数PI结果。设计32位超前进位链时可以进行多种设计,如果单纯追求速度,可以使用式5一12进行迭代设计,获得只有两级门电路延迟的超前进位链,但该设计将使用大量的门电路;也可以进行两级组合,如图514所示图514两级32位超前进位链该两级32位超前进位链的延迟仅为6级门电路延时,比单纯的迭代设计可以显著节约大量的门电路,最终设计通常基于实际应用的要求在速度和门电路数量之间进行权衡。5232232位超前进位加法器设计由式57可以得出,最终结果的各个位的值取决于两个加数相应位的值和低位进位的值的异或结果,因此只需将前文设计的32位超前进位链的结果和两个加数进行逐位异或,便可获得两个加数的和。因此设计32位超前进位加法器结构如图515所示图51532位超前进位加法器图中32位超前进位链采用图514所示的两级32位超前进位链,延时约为6级门电路延时,且所需的门电路数目合理。硕士学位论文5233模块POST_NORMAIIZE具体执行过程模块POST_NORMALIZE首先从32位全加器中获得产生的结果,并接收模块PRENORMALIZE传送的基本指数和符号位。因为输入加法器的数字为27位,实际有效位为24位,所以结果只有低25位有效。判断结果的第25位,如果该位为1,则将结果右移一位,然后将基本指数加一;如果基本指数加L后为0,则将溢出标志位最位,表示结果溢出,否则取加法结果的低23位为最终结果的低23位,基本指数为最终结果的31位到24位,符号位为最终结果的最高位。最后输出32位的标准浮点数为最终结果。524设计结果根据上述方法设计出基于VERILOGHDL的32位单精度浮点数加法器,其结构如图516所示。在ALTERA公司的QUARTUSII开发系统中使用该公司的EPLC3T144C6进行仿真,系统时钟频率为30MHZ,共使用了835个逻辑单元,99个IO引脚,最大门级间时延为26803NS,仿真结果符合实际结果,图517为实际仿真的波形。图51632位单精度浮点数加法器从图517中可看出,当系统给OPARANDA、OPARANDB输入两个相同的加数叭11_10000110_00000000000000000000B时,期望的结果RESULT应该为011L一1000111000000000000000000000B,ZERO引脚应该输出低电平,ERRO引脚应该输出低电平。从实际仿真的结果可得出在125NS后,RESULT输出值为01111000_1110_00000000000000000000B,ZERO弓L脚、ERRO引脚均输出低电平,完全符合要求。一种基于FPGA的新型谐波分析仪研究DA喊啪9D味加拊渐V酣PROJECTAD柑曩I一誊蟹J誉_二舞;曩一L一叠I溆酾一一、翟。0图517仿真结果53LEEE标准单精度浮点数乘法器设计按照IEEE754标准规定,对单精度浮点数乘法可分成符号位计算、指数位计算和余数乘法计算。前两者的实现非常简单,符号位为两个乘数的符号位即最高位的异或结果指数位的计算为两个无符号8位二进制整数相加后减去127,并判断是否溢出和为0。而余数的乘法实现最为困难,该环节是浮点数乘法器的瓶颈所在,其性能决定整个浮点数乘法器的表现。余数的乘法可以变换为两个24位无符号整数相乘,所以浮点数乘法器设计的关键在于实现高性能的24位无符号整数乘法器。当前硬件乘法器的基本设计思想和手工乘法运算方法基本一致,首先将被乘数与乘数的各个位分别相乘得出部分积,然后对所得的部分积累加获得最后结果。该方法简单直观,实现容易,所需硬件资源也少;缺点在于时间开销过大且随乘法器位数的增加而成比例增加。为了减少乘法运算时间,许多改进算法被广泛使用,如BOOTH算法,改进BOOTH算法,WALLACETREE算法,DADDA算法等【6卜6引。531BOOTH算法和改进BOOTH算法1951年,AD。BOOTH在其论文“ASIGNEDBINARYMULTIPLICATIONTECHNIQUE”中提出了一种快速乘法算法即BOOTH算法。BOOTH算法的基础基于二进制数加法的特性。考察一个简单例子5X757OOL01B、00111B20010LB01000B00101B517实现该乘法只需一个加法器和一个移位寄存器。BOOTH算法的思想即当X乘以一个二进制数时可以将乘数中连续的1序列变换为2一2飞I,然后利用二进制数乘法的特性2。XX等于将X向左移I位,只需一个加法器和一个移位寄存器便可实现该段数据的2一2JZ,I,乘法运算,从而有效减少总体所需要的加法运算次数。BOOTH算法在多数情况下效率比简单的串行乘法算法要高得多。BOOTH算法的缺点在于其效率的不确定性。考虑极端情况,乘数为10相间的数时例如硕士学位论文10101010101B,此时使用BOOTH算法,效率和简单的串行乘法算法相刚”】。针对BOOTH算法的缺点,OLMACSORLEY于1961年提出了改进BOOTH算法MODIFYBOOTHALGORITHM。改进BOOTH算法可以保证将乘法运算所需的累加次数控制小于等于N2,为乘数的位数。改进BOOTH算法的思想即将BOOTH算法中的基改为4,每次扫描三位。改进BOOTH算法进行乘法运算所需的累加次数可以控制在小于等于N2,N为乘数的位数。基4运算可以通过左移一位获得【S。532WAIIACETREE算法BOOTH算法与改进BOOTH算法可以减少部分积的总数,从而减少部分积相加的次数;WALLACETREE算法和DADDA算法则是通过对部分积累加的方式进行改进从而减少部分积累加所需的时间。WALLACETREE算法的基本思想是通过32编码器减少累加所花费的时间。从前文对加法器讨论的结论可知,加法器的时延主要在于进位所花费的时间,串行加法器逐位传递进位,结构简单而效率低,因此出现多种超前进位加法器,通过增加电路门器件的方式来提高效率。当进行部分积累加时同样遇到进位问题,每一位数据的值取决于后面总进位值和其对应位累加的值。如果使用简单串行方式,逐级相加,即使使用超前进位全加器,所花费的时间也极长。考察三个二进制数相加。一BC,518对应不同的A,B,C,其结果为表52加法结果真值表ABCCARRYS1L11111OLOL01LO10001O11L00LO100OL10O000O从表52可得,三个二进制数相加,最大值为1LB,晟小值为O。进位值CARRY当且仅当三个二进制数中为1的数大于等于两位时为1,否则为0,可用逻辑式表示为一种基于FPGA的新型谐波分析仪研究CARRY2AB十BCCA519结果位S当且仅当三个二进制数中为1的数等于两位或0位时为0,否则为1,可用逻辑式表示为SCARRYABCABCCARRY520如此便可将三个二进制数的加法结果分解成为加法结果与进位结果并可并发获得,其编码单元如图518所示J11图51832编码单元图中逻辑如式519和520所示。其中A、B、C为输入部分积,CARRY为进位数,S为加法结果数【641。WALLACETREE算法的步骤为将部分积的累加分解成多个32编码压缩过程,前一级的CARRY和S作为下一级的加数,如此多层分解至最后剩两个加数,最后将两个加数输入超前进位全加器获得最终结果。所需分解层数取决与加数的位数N表53分解层数表N层数L425637941013514196202872942843639649410如8位数WALLACE形成结构如图519所示。该结构被称为WALLACETREE。其中CLA为超前进位全加器。对于上述WALLACETREE结构可以进一步改进成为42编码压缩单元。考察如图520所示编码压缩结构68掌硕士学位论文氓畎暇彤图519WALLACE树II图52052编码压缩单元图中A、B、C、D为输入的四个部分积,CARRY为进位数,S为加法结果数。CIN为从后一个42编码压缩单元传递来的进位,而COUT为向前一个42编码压缩单元传递的进位。CSA为前文设计的32编码压缩单元。通过该42编码压缩单元可以同时对4个部分积进行编码压缩,从而减少了WALLACETREE所需的层次即减少WALLACETREE门电路的总时延。使用42编码压缩单元所构造的8位数WALLACETREE如图521所示氓峨峨H图52142编码压缩单元WALLACETREE通过使用WALLACETREE可以有效提高部分积累加效率,但WALLACETREE最大的一种基于FPGA的新型谐波分析仪研究缺点在于其结构严重不规整,给实际电路设计的布局布线带来很大麻烦。53324位无符号基4乘法器本系统所需要设计的乘法器为2424无符号整数乘法器,因为标准单精度浮点数余数位为23位,加上首位默认的L,则共计24位。结果为48位。综合使用改进BOOTH算法和WALLACETREE来设计其结构,首先将乘数和被乘数输入改进BOOTH编码器获得12个部分积,然后使用42编码压缩单元构造的WALLACETREE对部分积进行累加。乘法器结构如图522所示UL【图52224位乘法器结构图522中上部为24位的改进BOOTH编码器,产生的12个部分积首先输入3个42编码压缩单元,首级编码压缩单元产生6个结果然后取最后四个结果输入下一级42编码压缩单元,其产生的两个结果与前一级所余最高两个结果一同输入最后一级42编码压缩单元;所产生最后两个结果输入全加器相加,获得最终的乘法结果。图中42编码压缩单元的逻辑为S2IO111213CI521CARRY210111213CII一IOIL1213101112132IO111213CIL10111213|一IO11121352270硕士学位论文CO1011112113523结构如图523所示其真值表如表54图52342编码压缩单元逻辑结构表5442编码压缩单元真值表CIIOILL213总和COCARRYSO0OOL0O1029O314L1000O1LOL2L31L04LL1其中同行的两个表示其值不确定,但两个值不能相同VERILOGHDL代码如下一种基于FPGA的新型谐波分析仪研究54小结本章研究了基于FPGA的FFT实现算法优缺点和具体实现架构的性能比较,对FFT算法单元进行了基于FPGA的系统总体设计,并且给出了标准单精度浮点数加法器和乘法器的VERILOGHDL设计。通过对FFT算法单元的设计可以看出,在进行基于FPGA的系统设计中,设计思想是自上而下TOPDOWNDESIGN,首先根据电路系统的行为和功能要求,将系统分解成为各个功能组成模块,然后进步将功能组成模块分解成为更小的模块单元,最后使用HDL对模块单元进行没计描述,然后进行综合与优化、模拟与验证,直至实现所需的功能。在开发过程中,灵活应用LPM库元件,合理设计系统的结构是快速开发高性能、效费比高的产品的有效手段。基于浮点数的其他算术运算可参考文献6670。72硕士学位论文第6章系统FFT处理单元测试本章主要对FFT运算核心进行仿真测试。仿真测试的主要工具为ALTERA公司的QUARTUS1122软件。测试时按照自底而上的原则,首先测试系统主要功能模块,然后测试由功能模块组合的较大模块,最后测试整个单元模块。所有测试均为综合布线后的仿真测试。61主要功能模块测试构成FFT处理单元的主要功能模块有采样数据RAM、熬数浮点数变换单元、运算数据双端口RAM、地址产生器、蝶型运算单元、旋转因子ROM、结果数据FIFO和控制单元。其中蝶型运算单元主要由32位浮点数加法器和乘法器构成;25632BITROM、16256X16BITRAM、51232BITDRAM、325032BITFIFO分别采用LPM中提供的LPMROM、LPMRAMIO、LPMDPRAM和LPMFIFO模块实现;楚数浮点数变换单元设计使用LPMSHIFREG模块实现;地址产生器和控制单元通过状态机设计实现。611FIF0测试测试的FIFO模块如图61所示IDNFIFOO;BL州,01CA雠JDALA310IQ阱QWPOOHI,HREAFUII辎矿霉受一懈配N;,DTQERUPTICLKI。燃I,CLOCK;C蜘RT恻R。HID勘O旧捌州图61FIFO模块编译结果为TOTALLOGICELEMENTS5L20,060女1II;XJL瓤MT。;ILLLJI、,I1IR“IJ黯I;1;TTQ,TTIT2“嘿L,;【斟悻11L_IC驰LLLLLI镩州1、L2峨姗,1】L,、。LR“R。1”。,、I。“JL;N;。L;LLLHI、CI一。RILLL;LFJLLLLO、。I2HLT1限TLO|LILJ厂RT_LLFIL|I;LLIRLSLI|IL;一,ZM一川,。RILL、I一IL“、IT二_R”II广T1IL”R。RL;RJRL”R“J、H1一ILJLLLLILLFILIL;L队I一”LI,E、。;LTLJJT、II11。“_R“JR“RRRRR了RFRRTRKT、LI17H7L丁丁1RF”RR7RLL1。L|LLL扎。1IIIIR,“RT1一,17J“JMT;L、。1瞅、【II,。;Z一;。IJ一“下I下“4RITI一F。I,、FFFFF|、一I。1_RLLL1J1II;J;I;瞅、LILL|JLL;4LLILLLHIII一一;TLJ。|1IJ|LLLL、IHI1R。JLIJLIL;L1IL“1J,LII11;LJ;、L、I11褂HI,LL|LTI;I2LJ;、【I”ILLLJJL|;TLLILITIL、L、。ILLL。1LIL十_“、,。IILI11L卜F、,I5;一F;L。IJL;IIL、LJ;J,。LLILU_J,ILL1图616浮点数乘法器测试结果3在输入乘数后第五个时钟周期时结果出现在RESULT引脚上,为01011100100000000000000000000000B,符合负浮点数乘法的要求。最后更改输入波形如图617所示,按照时钟周期连续设簧输入两个乘数为0111一L110000000000000000一0000一0000B和00011L10000000000000000000000000B、0100000000000000000000000000一0000B并口010000000000000000000000一O000一0000B、111111100000一0000一0000000000000000B和100L1110000000000000000000000000B以检验浮点85一种基于FPGA的新型谐波分析仪研究数乘法器连续运算情况。;1N门门一广1门NN广1广1口一广1N一。HFILI匹;潜阳瀑、哺蝮ILLLJ秘嗽曝豫粕啡蟪I_J嘲瓣I旧如FL“T,IIH匿砑际丽甄甄穗;II|蚓圳姗釉粥蛹;H孵蚓、TI鼢豫IIL|FRT一L;J,MT川|鄹F;蝣。L瑚溺埘釉印掰,L;R1F一丁一FI|;|IIILDLL|图617浮点数乘法器输入波形2测试结果如图618所示,在输入乘数后第五个时钟周期开始结果连续出现在RESULT弓J脚上,为01011100100000000000000000000000B、01000000100000000000000000000000B、010L一11001000000000000000000000000B,完全符合浮点数乘法的要求。一油譬鞠|随搿一川一黟|L黻一一一R蒸一蝻F一麟一|。一隆硝硕士学位论文,獬黑一一,”霉一_一”一船“。“胖”瞵|J。繁M静静薯瓣矽埘I鄹峨鹣IJ、LIK广1广11肉暇臆嬲黝黝1L熙11“TI。I互弱贼吲T蝮LI;蛳舯蛳D阳阳鲫;IL“,、把匿薯婀市础一E州墨I;|础蚋。I由IIL枷咄;IJ;I一I,M呻,MT朴。堪“阳雄叫蛐埘雷P。翟却_重“啤L雕璋;T擅”L母TL缸。_1“L_MILIJRR了1丁了一_啊RRLLL”RFR丁“L、NHI,【。L。ITILI;LIIL。;L;T一1一RFR1;TRR“飞“。、FQFLLLFJ、“TH。LLLLRR嚣LRRNRRRTF一T、II。LTLII一RF瞪翼睡J;RLLM|、,I。1IIIL。一;_L1一广R“R丁I1L;VILI;LLLLILLI”、I_。FIIJIILRYFIYI”溆、州IIJILLLLLIII【LLL。IA啦、,1ISF卜LILIJR|KT、II;LITRRI飞、I;【1LLI|2L;LM、|PFL;FILJL。_、L|T;S,LIILLII;LILIL黔、融TIRR_1JT“1RT一叶1“LL、,I拍1R7;N十一1RIL_I眦1,JLLL1RII;MI;IILLL强。ETIIIILL;LLL1;限、IIL、IRRIRRR寸1LLL讯、;I、I眦、I;ILILLI。L;L一“2L;RIL;、IIJ、L、IITK;ILIL;ILILLL采H、L卜ILLR可”RFY。、卜。II|LLI、HIL|RIR;JLLI_AILLLLLL;LI;LIL。IL|I。LJ;、IL;LLILL;LL;I;I一IL一YR一IRIEIIILLILIJI;、CIITIL一,IJ、;,4Y弋飞RYRI”可,TL,;L;IL;卜I|LI;LIIF7图618浮点数乘法器测试结果487一种基YFPGA的新型暗波分析仪研究62蝶型运算单元分析与测试621蝶型运算单元改进第四章中图42给出了蝶型运算单元的设计,其中运算数据输入和结果输出是两个数据的实部虚部并行输入输出,由此产生一个问题用于存放运算数据的DRAM只能在一个时钟周期内输出一个数据的实部和虚部,并且同时只能写入一个数据的实部和虚部。因此必须在蝶型运算单元和DRAM间加入数据切换模块,为此设计了一个24多路开关为蝶型运算单元输入数据,设计一个42多路开关为蝶型运算单元输出数据。其结构如图619所示图619多路开关图619左侧为24多路开关,其输入为一对32位数,输出为两对32位数,各对数分别对应一个运算数据的实部虚部。图619右侧为42多路开关,其输入为两对32位数,输出为一对32位数,各对数分别对应一个运算数据的实部虚部。24多路开关源码如下硕士学位论文该多路开关的作用为将输入的数据按时钟周期轮流在AB两个端口输出。其测试结果波形如图620所示89一种基丁FPGA的新型谐波分析仪研究图62024多路开关测试波形从图620可见,按时钟顺序输入的数据11111000000000000000000000000000B00000000000001111LLL1111111L1111B、11100000000000000000000000000000B在一个时钟周期后,111L1000000000000000000000000000B出现在输出端口A上并维持了两个时钟周期,000000000000011111LL111L11LL1111B在第三个时钟周期出现在输出端口B上并维持了两个时钟周期,11100000000000000000000000000000B在第四个时钟周期出现在输出端口A上并维持了两个时钟周期。在蝶型运算单元输入端连接该多路开关后便可连续串行输入运行数据,通过该多路开关变换成并行数据输入蝶型运算单元。从图620可以见,蝶型运算单元的输入变成两个周期的重复数据,实际上将蝶型运算单元的运算频率降低了一半。输出波形在两个输出值的变化之间出现了小段时长的其它值,OUTPUTAI和OUTPUTAR之间出现了不同步,主要因为布线后进行测试,线路时延不相同所引起。42多路开关的作用与24多路开关的作用恰好相反,将输出的并行数据变换成串行数据输出以便于回写DRAM。其源码如下硕士学位论文其测试结果波形如图62L所示91一种基于FPGA的新型谐波分析仪研究目自ETE自EEEJ目自E自日JJ_II_J_自JE日自_自置P啤一瓶攀醚L裁辩蛘、C;麴P群|;瀚;瞒鼬峨E鞔111啦I咻ILIIII图62L42多路开关测试波形从图621可见,42多路开关将输入的并行数据变换成串行数据输出。622蝶型运算单元测试加入多路开关的蝶型运算单元如图622所示对改进后的蝶型运算单元进行测试,该测试使用EPLC20F400C8芯片,一共使用了13835个逻辑单元和193个IO引脚,测试时使用30MHZ的时钟频率。输入的运算数据为00111111100000000000000000000000B和00LL1111100000000000000000000000B、01000000000000000000000000000000B和01000000000000000000000000000000B,旋转因子为01000000000000000000000000000000B和01000000000000000000000000000000B。测试结果如图623所示92硕十学位论文图622改进的蝶型运算单元一93。翌董童墼垒墼塑型塑垫坌丝堡窭窒阵J量一_鏊FLL_擎越I_薯L一攀孽_濠鞫舔重髓鞫韩L。G麟K。I硕士学位论文图623蝶型运算单元测试结果从图623可见,在数据输入后的第15个时钟周期,运算结果出现在输出引脚上,为010000000110_0000_0000000000000000B和01000000000000000000000000000000B、1L000000000000000000000000000000B和01000000000000000000000000000000B,完全符合蝶型运算要求。95一种基于FPGA的新型谐波分析仪研究63FFT结果验证为了验证该FFT运算核心的正确性,特选择一些模拟信号输入进行验证。首先输入了一个模拟信号为呐FF】SINF丽2N“N4F条“N1”丽2X61该信号的波形如图624所示图624输入波形1为基波和一个等幅值的4倍频率谐波和一个等幅值的10倍频率谐波复合而成。通过FFT运算核心处理后获得的前50次频谱实部虚部数据如表61所示表61FFT结果1序数实部虚部0215823994960396E17483557249522777E161478811285345382E17L2957574662359633E1665750826279479E173443889057469424E16899576440445154E一164543889057469424E16152672520705L2303E1610254061717994E156103552502887053E16642243756145801E一167693610420033679E16455458382484922E168112246072856378E1680958878469412LE169910583118781359E1523473124931575E1510919156683260361E16111410614717625812E16324994948563492E一151270680383382696E一16232484463244192E1513254915791321716E一16100601186320942E15硕士学位论文14171117789309175E15854274796015822E1615968942080469779E16225296208124204E1516548424947549755E16490016547920033E1617993474069249985E17363757039321298E16L8188307242965363E15785211338457392E161965L022295870894EL6285211338457392E1620138284646525638E一15174190495355125E1521585710450003879E16242937L54813278E1722166726433151146E16773505045927077E1623762431399440871E16203611689856316E1624369842809579782E16479879285416156E1625204650899783944E1623755863166317E1626794935466129608E16533173202476792E1627262811909343335E16758864627761505E1628186606444431234E15106785036414449E1529847

温馨提示

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

评论

0/150

提交评论