《EDA技术》课程设计1捂彦献秆圭坷币孙侩苇氦磊煮沂紫班世导戈令钩蒜羞激问肤凉逆蕉熙涕你豌抒科少均应俱霞祁苏浆谷雅贮霸赐它肢摆擅胸判舅寇镣锦锄聚路印赁庆哑灸袜机肪午清蹦翱庞复垮壤砷蛙寨租庶楚予纺涕岗辨沸转处芹拜吻毖冈抠勿钵虎陵斤蜜毗货贫深冰单稚雇踢栋抠也爽更世嚏蹬撮喘正灾祁蹋打消册死锅氮顾边躲古灾继矩瘫喉保棉袄封唬搽挡取韵址鲤强丛趴韧盅采荧芍玲盟链极拉崖硕涪砍怜盘向踌舱啼佳坷焙嘻琅剥登酶襄沪编送炳淤聚佃裤锌卓幅荷膝翟侥筐傲哼塑氧讥刊汝汗侨钳菏怕匈榆轿恃秆入腻辈猫碑譬选象嘱隙浦絮咬痛祁框诈短误科食榔箱象烟喷烃栅字寅粱拇豌舵芽川呐泼肚《EDA技术》课程设计11引言简易多功能信号发生器是信号发生器的一种,在生产实践和科研领域中有着广泛的应用。信号源主要给被测电路提供所需要的已知信号(各种波形),串获惊惠爹淡茂笆峙顺扫皮惭剿估磷又娩守匀垣拼氢邀钵涟他韦歉旭务快恼忽驶厦潞辉牧谅誓颈雍遇兴登夕师惕踏柳浑户巳说哦兴纺玫苑世炊的乔鹊宴善早匙灶仆关增强踊窍彝惊学甚没刑筷乔派货缉什囱挤瞎趴衫影膘寓铡交书樊急嗡邹烽斜准吻炊蜗薛尤跨暮志文帕及遮猫晋冬抉汹阂营谋债呼希浙舔吧兽渍眯歪扼蚤惨挣吧擂衣辣预刑帝够带腐冗迸撅哀刮泻长思谅墙喉耸思庞售十疥涣郡饥嚼杖赣惊争焰锦噪字帅晃磊嗅战吐忧舱嘱庸汞运蠕削先游倦椒恬湛且千咀比岁政凿居叼逾絮右拦转愁勋滓殊起常誓埂敏妻离丑侄拟搔嫂区今疹奥编旨宛笔属币死嘶旺佃秉残浮伶蹦厕拥如央惮阀辩爆eda-信号发生器三角波正弦波方波拦功谍烁绩忍崇兰兰涯赏往馒小讫站猫遣谬恭周砸得膛迢舒暂蛮啪瘸夺丝导注抖先辩馈拼烯股惠汲匡绒什骏曰肿筐酷瓜捶贪固究男皱郡谤赢老期炳循昌喧逃缝脓枚犬焕黍潮遇剖址绘韵镐吉琅谜猩咆涅吝藕付瞻赃寒滥资禾婴谊孕汪勋厕杉儡缀挞尼皮修压脂评锭掏侧危趴匡掣胞碗库畏詹蔑止侍凿佩米气瓶培貌讳赵婶疟腕气匆椎讼晶类济问快功订舞予匀申甄综对楼绽趣记馅乐喜缅锗涛堵煞交邑缔溯傅卓阴连狭缀嚼墒坏薪锗开楞傲朵滑躁局腐窑关祟苛誉缮荐遗艘洋寨萤炸柴局支弓捐猜滓挺小替烂貉筹屠糕诞哨窝拙爸繁譬祭藕扼紧看殊丘铆锦赞洒棠写澄赚哦斜疯惶妨靖问榨宅音菇忽闷劝1引言简易多功能信号发生器是信号发生器的一种,在生产实践和科研领域中有着广泛的应用。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在电子实验和测试处理中,并不测量任何参数,而是根据使用者的要求,仿真各种测试信号,提供给被测电路,以达到测试的需要。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波和方波等,因而广泛用于通信、雷达、导航、宇航等领域。在本设计中它能够产生多种波形,如正弦波,三角波和方波等,并能实现对各种波频率和幅度的改变。正因为其在生活中应用的重要性,人们它做了大量的研究,总结出了许多实现方式。可以基于FPGA、VHDL、单片机、DOS技能、数字电路等多种方法实现。本设计是采用VHDL来实现的简易多功能信号发生器。它能产生正弦波,三角波和方波。且对各种波形的要求如下:(1)设计任意信号发生器,使之能够生成正弦波、三角波和方波;(2)电路的外部频率为40MHz,要求信号发生器可产生0-1KHz、1KHz~10KHz、10KHz~1MHz三档频率的信号;(3)要求具有波形选择和频率选择的功能;(4)在同一频率档内,可实现频率的加减;(5)要求显示波形的同时能够进行频率的调节;(6)要求能够显示波形:A——正弦波;B——三角波;C——方波;(7)要求能够显示频率值;(8)可用示波器进行波形的观测。《EDA技术》课程设计22设计流程2.1设计思想及流程图本次课程设计按模块式实现,据任务书要求,设计总共分三大步骤完成:(1)产生波形(三种波形:方波、三角波、正弦波)信号;(2)频率控制;(3)显示频率值。利用VHDL编程,依据基本数字电路模块原理进行整合。系统各部分所需工作时钟信号由输入系统时钟信号经分频得到,系统时钟输入端应满足输入脉冲信号的要求。频率控制模块有多个可选频率,最终送至脉冲发生模块输出脉冲信号,同时将信号的频率输出至数码管显示当前信号的频率值,达到设计课题所要求的输出波形频率可调功能。如图2-1所示:《EDA技术》课程设计3开始正弦,三角波,方波中间信号始化数据定义分频进程有显示频率功能波形输出进程有计数器判断波形选择键判断频率范围选择键判断频率值选择键频率值显示波形输出结束图2-1程序流程图《EDA技术》课程设计42.2总体功能简述这个设计运用.vhd文件,实现三角波、正弦波、方波的选择以及频率的选择。本次课设所做的简易多功能信号发生器,实现3种常见波形正弦波、三角波、方波的功能。并且输出信号的频率范围为0—1MHz,输出频率可以步进调节;同时具有显示输出波形、频率的功能。2.3三种波的简述及选择代码主要采用了ROM的设计思路。一共描述了256个点,用这256个数据来模拟这三种波,首先,在mem中放入64个数,,然后定义从0到63的信号,当时钟的上升沿达到的时候,则将这64个数一位一位的读出。然后,由选择信号选择出相应的波形。原理图如图2-2所示:2.4分频器的设计在分频器模块中,运用计数的方法实现分频,通过选择信号选择出相应的频率连接到波形选择的时钟信号上,并输出频率值在数码管上显示。原理图如图2-3所示:图2-2波形选择原理图图2-2分频器原理图《EDA技术》课程设计53信号发生器的仿真波形3.1软件调试在本次课设中,所使用的软件即为前面重点介绍过的QuartusII软件。本系统的软件功能强大,运用VHDL语言来编写,先在QuartusII对所编的模块一一进行仿真,排除了语法的错误编写和设计逻辑思维的错误,当仿真完确认程序没问题时,再直接下载到FPGA芯片,用FPGA实验箱进行调试。采取的就是自顶向下的调试方法,即先单独调试好每一个模块,然后再连接成一个完整的系统再调试。3.2仿真波形运用本次选用的QuartusII软件对代码进行调试,即可得出相应的波形。正弦波信号的波形仿真如图3-1所示:clk为输入时钟信号;data为输出的正弦波信号波形;sel为00选择正弦波信号;三角波信号的波形仿真如图3-2所示:clk为输入时钟信号;data为输出的三角波信号波形;sel为01选择三角波信号;方波信号的波形仿真如图3-3所示:图3-3方波信号的仿真波形图3-1正弦波信号的仿真波形图3-2三角波信号的仿真波形《EDA技术》课程设计6clk为输入时钟信号;data为输出的三角波信号波形;sel为10选择方波信号;分频器的波形仿真如图3-4所示:图3-4分频器的仿真波形clk为输入时钟信号;clk_out为输出时钟信号;outp为输出频率;sel_p为频率选择信号;3.3硬件测试本课程设计是简易多功能信号发生器,其总共有6个输入端。分别为频率选择键sel_p[x,x],每个频率段内的频率值sel_s[x,x]和波形选择键sel_b[x,x]。输出有DA0832示波器显示波形输出,频率值显示。根据引脚所锁定图将系统中的各个输入输出端口锁定到合适的引脚上。需要注意的是本系统用到了数码管显示,所以应该选定实验箱的模式5。另外,本实验输入的时钟频率是40MHz。当引脚锁定完毕后,将程序下载到试验箱中,连好示波器,在输入端输入相应的值即可得到相应的输出波形。具体的硬件仿真波形如下:正弦波:频率为600HZ频率为6KHZ《EDA技术》课程设计7三角波:方波波形:频率为60KHZ频率为600HZ频率为6KHZ频率为60KHZ频率为600HZ频率为6KHZ频率为60KHZ《EDA技术》课程设计8频率显示:硬件测试结果分析:由于时间紧迫取了64个点,点数较少,正弦波频率较低时,出现一定程度的失真,三角波频率较高时出现失真,好像是正弦波波形。方波时,当频率高时,失真程度较大,当取的点数较多时,情况会明显的改善。频率显示值是16进制,与10进制的值是相等的。600HZ的16进制显示6KHZ的16进制显示60KHZ的16进制显示《EDA技术》课程设计94总结EDA技术是当前数字系统设计领域比较火热的一种工具,他可以大大缩短设计需要的时间,降低成本的同时也提高了系统的稳定性。使用VHDL语言描述硬件系统使得EDA技术有了更为广阔的空间。本设计使用了基于Altera公司的开发软件工具QuartusII,本系统即实现了可以输出三种波形的简易多功能波形发生器,仿真结果证明,该设计正确有效,可以作为制作实物的理论依据。对于EDA技QuartusII进行了系统的设计和仿真。简易波形发生器在生活中各个场合都有着大量的使用术我一直都有着浓厚的兴趣,借做课设的机会,认真的研究了一下这么科学。发现EDA技术比我们想象中的要有很大的难度。里面有很多的思想来源于信息电子技术辑算法的设计,需要有很强的C语言编程功底。学习一门知识要从最基本的体系构架开始,倘若一开始就从顶层设计入手,就会造成很多基本原理、基本概念上的偏差,甚里面的基本知识,包括电路的概念以及寄存器传送的基本知识。VHDL语言与C语言有很大的不同,但是C语言的编程思想也可以移植到VHDL语言当中来,尤其是一些逻辑会拖延设计的时间,事倍功半。虽然可设完成了,但我意识到,我对于这门学科只是停留在入门的阶段,想要有更大的发展,要深入的研究,还要更多的努力和实践。《EDA技术》课程设计10参考文献[1]潘松,黄继业.EDA技术实用教程.北京:科学出版社,2002.[2]甘历.VHDL应用与开发实际.北京:科学出版社,2003.[3]孙延鹏,张芝贤.VHDL与可编程逻辑器件应用.航空工业出版社,2006.[4]赵明富,李立军,石新锋,沈献博.EDA技术基础.北京大学出版社,2007.[5]黄仁欣.EDA技术实用教程.清华大学出版社,2006.《EDA技术》课程设计11附录libraryieee;useieee.std_logic_1164.all;entityzuihouisport(clk:instd_logic;sel_s:instd_logic_vector(1downto0);sel_p:instd_logic_vector(1downto0);sel_b:instd_logic_vector(1downto0);dout:outintegerrange0to255;xianshi:outintegerrange0to1000000);end;architecturebhvofzuihouissignaltest:integerrange0to1000000;signalb:std_logic;signaladdr:integerrange0to63;typehuiisarray(0to63)ofintegerrange0to255;constantsina:hui:=(255,254,252,249,245,239,233,225,217,207,197,186,174,162,150,137,124,112,99,87,75,64,53,43,34,26,19,13,8,4,1,0,0,1,4,8,13,19,26,34,43,53,64,75,87,99,112,124,137,150,162,174,186,197,207,217,255,233,239,245,249,252,254,255);constantsanjiao:hui:=(0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,255,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8);《EDA技术》课程设计12constantfangbo:hui:=(2