EDA课程设计报告.docx

上传人:李司机 文档编号:7215279 上传时间:2024-06-29 格式:DOCX 页数:13 大小:208.75KB
返回 下载 相关 举报
EDA课程设计报告.docx_第1页
第1页 / 共13页
EDA课程设计报告.docx_第2页
第2页 / 共13页
EDA课程设计报告.docx_第3页
第3页 / 共13页
EDA课程设计报告.docx_第4页
第4页 / 共13页
EDA课程设计报告.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《EDA课程设计报告.docx》由会员分享,可在线阅读,更多相关《EDA课程设计报告.docx(13页珍藏版)》请在三一办公上搜索。

1、EDA技术及其应用乐曲演奏电路蓝雪英(电子传导工杈学系宿吊电外:余七好)摘要:本谀计基于现场可羯程门阵列FpGA,通过EDA技术.表的VHD1.片高遑集成电路硬件描述语古实现乐曲演赛也哈.用FPCiA若件辐动小扬声若演赛“世上只有蚂妈好”片殁。关歌字:EDA乐曲演泰电路PGAMaX+plusH收件1原理分析1.1EDA技术在现代电子系统的i殳计中,EDA技术已羟成为一种杵遍的J1.具-EDA即电子设计自动化,EDA技术的发展是,以计算机科学,微电子技术的发展为基础,并融合了应用电子技术、智能技术以及计算机图形学、拓扑学、计算数学等众多学科的最新成果发展起来的.简洁的说.EDA就是立足于计芽机工

2、作平台而开发出来的一整套先进的设计电子系统的软件工具。电子系统的设计方法从电子计算机协助设计CAD、电子计算机协助工程CAE到电子设计自动化F)A,设计的臼动化程度越来越甑设计的用碓性也越来越强.它果纳现件描述语古HD1.进&计.FPGA(Field-ProgrammableGateAray),即现场可娟程门阵列,它是在PA1.GA1.,CP1.D等可嫡程零件的基础.上进一步发展的亚物.它是作为专用集成电路(ASlC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程涔件门电路数仃限的缺点。Fl前以怏件描述语言(Verilog或VHD1.)所完成的电路设计,可以经过简单

3、的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流.超高速集成电路硬件描述谱*VHD1.是HD1.的一种,是一种标准化程度较高的硬件描述语言,主要用于描述数字系统的给何、行为、功能和接口。进入到21世纪后,EDA技术得到了更快的发展,起先步入了一个新的时期,突出地表现在以下几个方面:(1)电子技术各个领域全方位融入EDA技术,除了日益成熟的数字技术外,可编程模拟器件的设计技术也有了很大的进步.El)A技术使犯电子涣域各学科的界限更加模糊.它们相互渗透和包涵,如模拟与数字、软件和便件、系统和器件、ASIC与PPGA、行为与结构等.软、硬协同设计技术也成为EDA技术的一个发

4、展方向.(2)IP核在电子设计领域得到了广泛的应用,携于IP核的SoC设计技术趋向成熟,电子设计成果的可Hi用性进一步提高。(3)战入式微处理器软核的出现,更大规模的FPGA/CP1.D器件的不断推出,使得可编程芯片系统步入好用化阶段,在一片FPGA芯片中实现一个完备的系统己成为可能,(-1)用FPGA器件实现完备硬件的数字信号处理成为可能,用纯数字逻轨进行DSP模块的设计,使得高速PSP实现成为现实,并有力地推动了软件无跳电技术的好用化,胜于FPGA的I)SP技术为商速数字信号处理算法供应了实现途径.(5)在设计和仿真两方面支持标准谀件描述谙言的EDA软件不断推出,系统级、行为验证级硬件描述

5、谙吉的出现使得困难电子系统的设计和验证更加高效.在一些大型的系统设计中,设计脸证工作特别眼难.这些高效的EDA工具的出现版轻了开发人员的工作量.1.2Max+plusII软件MaX+plusH是AKera公司供应的FPG/VCP1.D开发柒成环境,Altera是世界上收大可编程逻辑器件的供应商之一.MaX+plusIl界面友好,运用便捷.被誉为业界最易用易学的EDA蚊件.在Max+plusll上可以完成设计粕入、元件适配、时序仿真和功能仿真、箱程下载整个潦程,它供应了一种与结构无关的设计环境.是设计者能便利地进行设计獭入、快速处理和器件编程。MaX+plusU供应丰富的库单元供设计者调用,其中

6、包括74系列的全部器件和多种特别的逻轼功能(Macro-Function)以及新型的参数化的兆功能(MageFunction).Max+plusII物件具有开放核的特点,允许设计人员添加自己认为彳!价值的宏函数.2总体方案设计2.1设计内容要求设计一个乐曲演奏电路.JflFPGA零件亮动小扬声器演奏“世上只有妈妈好”片段.依据图一乐i普,设计相应电路限制SwakCr信号的方波频率,某一频率持续时间长短,各频率间间隔大小,就可以推动小扬声器演奏乐曲.世上只有妈妈好影片世上只有妈妈好主题歌65351656-35,6532f53|2-|2-莉好的孩没姆的BT宝.563-T,找?旭的体蚂姆的怀“世上只

7、a叫得好”乐谱片段2.2设计方案比较方案一:由单片机MSP430FM9来实现乐曲演奏电路的设计,外阳电源采纳+3V电源供电,时钟有8MHz的晶摄产生,中心处理器由MS430FM9单片机来完成,乐曲演奏状态由七段数码管来模拟.这种方案.结构简洁简洁驾驭,各部分电路实现起来郴特别简洁.在传统的乐曲演奏设计中也应用得较为广泛,技术成熟.其原理框图见图二。联片机收理实现框图方案二:班于现场可编程门阵列FpGA,通过EDA技术。米纳VHD1.超高速集成电路硬件描述语言实现乐曲演奏电路设计。程序设计思想为:I、分频电路产生不同频率方波:2、利用计数器实现SPeaker信号频率选择,某一频率持续时间长短,各

8、频率间间隔大小,其原理枢图见图三.图三版曲演类电路原理框图通过方案一二的比较,可以看出方案一的设计运用分立元件也踞较为多,因此会增加电路冏试难度,且电路的不稳定性也会随之增加,而采纳FPGA芯片实现的电路,由于在整体性上较好,在信号处理和整个系统的限制中,FPGA的方案能大大缩犍电路的体枳,提高电路的检定性,此外其先进的开发工具使整个系统的设计调送周期大大缩短,一般来讲,同样的逻辑,基于FPGA要比恭于单片机要快许多,因为它们工作的原理是完全不同的.单片机是基于指令工作的,同样的激励到达单片机后,的片机苜先要推断,然后读取相应的指令.歧终做出响应,每一步都是须要在单片机的时钟驱动下一步步的进行

9、.而基于FPGA则是把相应的逻辑“短料”固化为使件电路.它对激励作出的响应速度是电信号从FPGA的一个管脚传播到另一个管脚的传播逑度,当然这指的是异步逻辑,同时电信号也要在芯片内进行一些榔电容的充放电动作,但这动作都是特别特别快的,结合本设计的要求及综合以上比较的状况,我们选择了艇于FPGA的乐曲演奏电路的方案。2.3设计过程乐曲演奏的原理是这样的:组成乐曲的每个音符的班率伯(音调)及其持续的时间(音长)是乐曲能挣续演奏所需的两个基本数据,因此只要限制给出到扬声器的激励信号的版率凹凸和持续时间,就可以使扬声器发出连续的乐曲声,首先来看怎样限制咨询的凹凸变更.1、音调的限制频率的凹凸确定了音调的

10、凹凸。音乐的I二平均率规定:越两个八强音之间的频率相差倍。在两个八度音之间,又可分为12个半者,州两个华音的韧率比为WI另外,音名A的频率为440HZ,音名B和C之间、E和F之间为半音,其余为全音.由此可以计算出简附中从低音I到岛音I之间每个音名对应的频率如表I所示.&I简谱中的音名与嫉率的关系音名频率/Hz音名频率/Hz音名频率/Hz低音I261.6中音I5233高音11046.5低音2293.7中音2587.321174.7低音3329.6中音3659.3高音31318.5低者4349.2,l,4698.5高音41396.9低音5392中青5784高音51568低音6440中白6880笳5

11、61760低音7493.9中音7987.8高音71975.5全部不同姣率的信号都是从同一个基准频率分频褥到的.由于音阶频率多为非整数,而分频系数又不能为小数.故必需符计算得到的分频数四舍五入IU整.若基准颇率过低,Wiltl于分频比太小,四舍五入取整后的误差较大.若基准频率过奇,虽然误差变小,但分城数将变大。实际的设计中应综合考虑这两个方面的因泰,在尽量减小领率误差的前提卜取合适的场准频率。本例中选取6MHz为花准频率,若无6MHz的时钟频率,则可以先分领得到6MHz域换一个新的批准频率,小实上只要各个音名间的相时频率关系不变,C作1与D作1演奏Hl的音乐听起来都不会“走网”.发2各晋阶顿率对

12、应的分频比及便K数名分财比预置数名分频比预过数低音576538730中音3455211831低音668189565中,5382712556中含I57361()647中音6340912974中音2511111272高音1286713516这里须要演奏的是“世上只有妈妈好乐曲,该乐曲各音阶频率及相应的分算比如表2所示.为了削减输出的偶次谐波球心,爆终输出到扬声器的波形应为对称方波,因此在到达扬泮器之机有一个二分臧的分物器,表2中的分频比就是从6MHz频率二分频得到的3MHz版率基础上计算如出的.假如用正弦波代普对称方波来要动扬声器珞会有更好的效果.从表2可以百出,最大的分短系数7653故采纳14位

13、二进制计数湍分频可满意须要.在表2中,除了给出了分频比以外,还给出了对应于各个音阶频率时计数据不同的预置数,时于不同的分频系数,只要加成不同的预置数即可。采纳加栽预置数实现分期的方法比来纳反馈复零法节约资源,实现起来也简洁一些。此外,对于乐曲中的休止符,只要将分频系数设为0,即初始值为2-l=l6383即可,此时扬出器将不会发H.音长的限制音符的持坡时间应依据乐曲的速度及每个音符的节拍数未确定.本例演奏的世上只疔妈妈好片段,必用的商行为四分音符,故如将全书符的持续时间设为IS的话,则只须要再供应一个4Hz的时钟频率即可产生四分音符的时长,图三所示的乐曲演奏电路的原理框图,其中,乐谱产生电路用来

14、眼制音乐的音调和音长。黑制音冏通过设箔计数器的预置数来实现.预徨不同的数值就可以使计数器产生不同频率的伯号.从而产生不同的音调.限制音长是通过限制计数器预先数的停留时间来实现的,预置数停留的时间越长,则该音符演奏的时间越长.每个音符的演奏时间都是0.25S的整数倍.对于节拍较长的音符,如二分音符,在记谱时将该在名连续记录两次即可.音名显示电跖用来显示乐曲演奏时应的音符,可以用三个数码管分别显示高、中、低音名,实现演奏的动态显示.特别直观,在本设计中,HlGH3:0、MIDI3:0|,1.OW3:0等信号分别用于显示高音、中音和低音音符,为了使演奏佬新环进行,需另外设置一个时长计数器.当乐曲演奏

15、完成时,保证能自动从头起先演奏.编写程序(I)新建文件:打开Max+plusII软件,新建一个TeXlEdilor文件,操作界面见图四.mn新建一个“WXtaJity”文件在新建文件中输入如卜源程序代码:/信号定义与说明/clk-4Hz:用于限制音长(节拍的时钟频率;/clk_6MH:用于产生各种音阶痂率的基准频率:/speaker:用于激励扬出器的输出伯号,本例中为方波估号:/high.mcd.low:分别用于显示高音、中音和低音音符.各驱动一个数码管来故示”11Hlulemama(clk_6MIIz.clk_4Hz,spcakcr,high,niid.low);inputclk_6MHz.

16、clk_4Hz;Oinputspeaker;ouput(3:()|hh,mid.low;regspeaker;re或3:0high.mid.low:reg(7:0|counter;reg(13:0)dividcr.origin;wirecarry;assigncarry=(dividcr-6383);always(POSCdgCclk_6MHz)beginif(carrydiidcr=orifin:elsedivider=divider+1;endalways(posedgecarry)beginseaker=-speakerendalways(PoSedgeclk.4Hz)begincasc

17、(high.midlow)HMXMXMXMK)!l(korigin=9565;,HXXXXXXWiOloriginIIO()()origin=1)831;,MXXXXX)l(X)0(M):origin=l1272;,NXXXXMX)1(MKX):origin=1()647;,bOOO100oooooO2rinv=13516;b0(XXXXX)0O0()0:origin=16383;endcaseendalways(POSCdgCclk4Hz)beginif(counler=60)cHinter=O:elseCounteK=Counter+1;casc(countcr)O:high.mid.lo

18、w=,M)O(XX)1KXXXM):中61:1high.mid.low=bOOOOO1100000:2Hhigh.midJow=,W)0000l100OOO;3:1high.mid.low=M)0000101OOOO:中54:1high.mid.low=,b()O(XXX)lI(XXX):5:high.mid.low=,h(XXXXX)li(XXM):6:high.mid.low=bOOOOOIO!OOO():7:high,mid.low=M)OOOOIOlOOOO:8:high,mid.low=bOOOOO1010000;9:high,middowvh00010000();10:|highj

19、nidJow)=b00000l100O;11:(highjnid.low)=bOOOOOIOI(XXM);l2Uhigh.mid,low)=rbOOOOOI1000(;13Hhigh,midJow)=bOOOOOI100000;14:|high.mid.low)=b0000011(XXK)O;15high.mid.low=b(XXXX)lI(XXXX):16:1high.nid.lw)=bOOOO(X)lI(XXX);“中317:(high.midJov)=vbOOOOOOI10000;18:1high,midjow-b(XXXX)i010()();19:1high.mid.low=b(XXX

20、X)l1(XXXX):20:1high.mid.knv)=b(XXXX)101(KXX):“中521:|high.mid.low)=00000101OoOO;22jhigh.mid.low)=bOOOOOOI100OO;23Uhigh,midJow)-b(XMXXX)l()()0();24:(high.mid.knvj=b(XXMXXX)1(KXX):25:(high.mid.low|=HXMMXX)(K)0110;低626:high.mid.lowj=1)0000010100OO;“中527:high,midJow)(XXX)(X)ll()()0;中328:1high.mid.lowJ=bO

21、O(XX)0100000:中229:1high.mid.low)=,bOO(XX)OI(XKXK);30:high.midjow)=b000000100000;31UhigkmidJowI=1)000000100000;32rhigh.mid.lowJ=b(XXXMX)i(MKXX):33:1high.mid.lowJ=,b(XKXXX)i()U()U():34:1high.mid.lowJ=bOOOOOO1OOOOO:35:|high.mid.low)=1)OOOOOOII00;“中336:1high,mid,low)(XXXM)IOI(KXK);中S37:high,mid.low|=bOO

22、OOOIOI(XKX);中538: high,mid,low=MXXXX)10100()0;中539: high.mid.low=b000000lI(XXX);中341: high.mid,low1=b=,MXXXXX)II(XXX);中343: (high.nid.low)=,MXXXXM)I(XMXX);中245(high.mid.low=000000010000;中146: high,nid.low)=b00000100;47: high,midJow=b0000000100;48:1high,mid,low=MXXXKXX)100o0;49: high.mid.low=NXXXX)l(

23、)l0000:中S50: (high.mid.lowr置此项目为当前文件,如图五所示。中55:high.mid.low)=b00000l0l(KX)0;中552: high.mid.lowIGOOOOOO11(XX)O;月中353:1high.mid.low)=b(XXXXX)l()0(XK):中254:high.mid,low)b00000001(XMX);中I55:|high.mid.low-b(XXKMX)(X)OI10;低656: high.mid.low)=b(XXXXXM)I(KXK):中157: Jhigh.mid.low)=,b000()000101;/fH55$:high,m

24、id,low)b000000000l01;“低559:high.mid.low)=b(XXXXXXK)0101:“低560:1high.mid.low),,.1.IlMw-0一k4r*rchyMeMUPkj0SM4n4gIMAXlUIlCr*OMSymbol3WCrJ。3Icd。”AASi*CHOCvIJCE”CWI“tFj08CrrwrZjCj、s*rcorrlWWg,E.3.S.r,Cmpl2rrMMS2102*,ZE2aozGwmfS168】,ZUwF4MUm冷l7XC7sda)2l,d*ocfXC7Wl7udd.bu2,6El681VHjf,W0WG242eioyoemgiCtrUJC

25、tHthJCtH*CCtH7CMMSI”1CHMAXtpkrtECo*图五状?1为当前攵件(3)温洋文件:启动MAX+plusIlCompiler菜单.按Start起先编译.并显小编译结果.生成卜或文件见图六所示。OPrcjectcompU6onWMxcestfulOfoftOw4fnr19s图六修译文件(4)添加仿真激恸信号波形:a.启动MaXPlUsUWavefromeditor菜单,进入波形编辑窗口见图七所示:b.招取标移至空白处并胞击右犍出现如图八所示对话框:c.选择enternodesfromsnf选项井按左键价认出现如图九所示界面,单击一叵二)和1.选择欲仿真的I/。管脚:clk_

26、6MHzclk_4Hzspeaker,high.mid.low.d.单击。K按图匕波形编辄窗口图九加入要仿其的泞脚CutCOPyP5teDetInSENodesfromSNF.EMNTE图八两人设计管脚(5)为clk.6MHz、clk,4Hz两个输入湘口添加信号:先选中clk.6MHz输入端“2-clk6MHz,然后再点击雷“左IW的时钟信号源图标“XS添加激励波形,然后保存为mama.SCf文件所示”(6)仿真:最终打开MaXPlUSUSiuulator菜单仿真电路.仿真结果如图十所示.图十伪口时序图结束语:在本次设计中,我完成了本系统设计的要求及功能.本设计要求实现乐曲演奏的音调和音长还要

27、在数码管上显示旅率,最终通过小扬声器产生乐曲在设计的起先我对乐曲演奏的原理进行了具体的分析:对乐曲的每个音符的频率值(音调)及其持续的时间(有长)这两个使乐曲能持续演奏所需的两个第本数据进行了深化探讨。井时MaX+plusH软件的功能和运用方法进行了多次练习和探讨。通过本次设计,在对El)A这门技术上有了更深刻的相识,也从实践的例子中去感受到了EDA设计蛤我们带来的变更与进步.我不仅驾驭MaX-PIUSll软件的运用,与此同时,我们还对电子设计的思路行了更多的相识。由于时间和自身水平的限制,本设计在功能上只是完成了一些茶本功能,对于电跖的牢靠性,枪定性等参数还未做过具体的测试,在音调与音长故W

28、分析方面也还未做周全的考虑。参考文献(1壬金明.冷9便.EDA技术与Verilol谀计IM1.北京:什中出版社.20082江国强.EDA技表与应用值.电子工业出收社.2007-05-01附录“世上只有妈妈好”乐曲片段源程序代码产信号定义与说明/clk-4Hz:用于限制音长(节拍的时钟频率;/clk_6MHz:用于产生各种音阶脓率的基准频率:/speaker:用于激励扬出器的输出信号,本例中为方波估号:/igh,med.low:分别用于显示高音、中音和低告音符,各驱动一个数码管来显示*/11HJulumiinia(clk_6MHz.clk_4Hz.spcaker.high.mid.low);in

29、putclk_6MHz,clk_4Hz;outputspeaker;(MMPUu3:0high.mid.low;regspeaker:re或3:0high.mid.low:rcg|7:0|counter;reg|l3:0divider.origin;wirecarry;assigncarry=(dvidcr=16383);always(poscdgcclk_6MHz)beginif(carry)divider=origin;elsedivider=divider1;endalways(p)scdgcCarry)beginspeaker=-speaker;endalways(PoSedgCclk

30、_4Hz)begincasc(high,midjow),bOOOOOO(M)OIIO:Ofigin=9565;,bO0O()O(X)0()i()korigin=8730:,NMXMX)1l(XXXK)rorigin=12974:vb00000l010(XXhorigin12556;,bOO(XXM)lI(KMX)IorigiiK=11831;,b0000001000(M)x)rig!n=l1272:,bOOOOOO()10000zorigin=10647;,MXX)l(XXXX)()0origin=”516;bO(XXX)(X)000()0:origin=16383;endcaseendalw

31、ays(poscdgcdk_4Hz)beginif(counler=60)cnnter=O:elsecountcr=countcr1;Case(Counier)0:|high.mid.low|=MW000l100000:中6k(high.mil,low=,MM)000lI(XX)OO;2:(high.mid.low|=b0(X)0011(XXXK):3:(high.mid.low=,bXXXX)1010000;/ll,544high,nil,lowbOO(XXM)lI(XXX);5z(high.mid.low=bOOOOOOIi(XXX):6: (high,midJow=00000101(MK

32、M):7: high,mid,lowV二b()001010000;8: (highjnid.low)-,MXXX)01O100O0;9: (high.mid.low=,b00010OooOo00:10:1high.mid.low=b(XXXX)l1(XXXX):Ikhigh,midjow=,b000001010000;12: high.midJow)vb00000Il00000;13:|high.rnid.low)=bOOOO()l100O;14:1high.mid.lowJ=b(XXXX)l1(XXXX):15:1high,mid,lowJ=b(XXXX)lI(XMX)O;16:high.m

33、idJow)=vb000000110000;“中317:high,midjow)=b000000110000;18:1higb,midjov)=1XX)OOOIO100OO;l9Uhigh.mid.low)=rb(XXXX)lI000;20:|highjnid.low)=b00(XX)1010()00:“中521:1high,midjow)lOICKXK);22jhigh.mid.low)=bOOOOOOII(MXM);23:1high.11id.low)=bOOO(X)01(XXXK):24:1high.mid.lowJ=,b(XKXXX)1(KXK):25:high,mid,lowb(XX

34、XXX)O()OIl0;“低626:1high.rnid.lw)=bO(XXX)1010()0():中527:high.midJow000000110000;“中328:1high.nid.lw)=b0000001()(K)0():中229:(highjnid,low)=bOOOOOOI(XKX);30: high,nid,lowVFMlOoOool(X)0()0;31:(high.midJoWv=1b000000100000;32:(high.mid,low(=M)OOOOOlOOOOO;33:(high.mid,low)=,b(MXXMX)i(XMXM);34:(high,mid.low=

35、MX)00(X)l000O0;35:(high.mid.low|=b000000110000:中336: high,mid,low=MXXXX)1010000;中537:(high.md,low=bOOOOOIOl00;中538: (highjnid,low),bOOOOO1010000;中539r(high.nid.low=NKXKXX)11(XXX);中34k(high.mid.low=b000(X)011(XXX):中342: (high.midJowV=bO(MX)1100()0:中343: (high.mid.low=,b0000001OO(K)0:中244:(high,mid,lo

36、w)000000100000;中245: (high.mid,low)=,b000000010000;中146: high,mid,low)=bOOOOOOO10000;47: high.nid,low)=bOOOOO100;48: high,mid,low)V=WOOOOO1OooO:49: )igl,mid.low)=MX)(X)0101(1(XO;“中550: high.mid.low)=,bOOOOOIO100OO;中5511high,mid,low=7)00000I0KKK);中552:1high.11id.low)=b0000001100OO:中353:1high,mid,low)-h(X)(X)(X)l(M)()OO;“中254:1IiigIijnidJow)I(KXX):中155: high,mid.low)=W0000000110;“低656:1high.tnid.low)=bOOOOOOO100OO:/,l,I57:high,mid,low=rbOOOOOOOOOIOl;“低558: high,11id.low)=000000000101:“低559: high,mid,low=1)000000000101;“低560:1high.11id.lw)=bOOOOOOOOO101;“低5cndcascendend11lule

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号