《乐曲硬件演奏电路的VHDL设计报告》由会员分享,可在线阅读,更多相关《乐曲硬件演奏电路的VHDL设计报告(8页珍藏版)》请在金锄头文库上搜索。
1、EDA课程设计题目:乐曲硬件演奏电路的VHDL设计专业:通信工程班级:通信071姓名:葛鹏学号:0710920101、设计题目:乐曲硬件演奏电路的VHDL设计二、设计目标:了解一般乐曲演奏电路设计设计方法,学习VHDL语言,熟悉EDA设计软件Quartusll和MAX+plusU,加强独立完成电子设计的能力。(1) 能够播放“梁祝”乐曲。(2) 能够通过LED显示音阶。(3) (选作)具有“播放/停止”功能,并在此基础上实现“按键演奏”的电子琴功能。主芯片型号为FLEX10K10LC84-4三、实验电路的工作原理:(演奏电路逻辑图)组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能够连续演奏
2、所需的两个基本要素,设计演奏电路的关键就是获得这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果。演奏电路逻辑图有三部分:音乐节拍和音调发生器、简谱码对应的分频预置数查表电路、数控分频与演奏发生器。演奏电路逻辑图:1:.梵CLKEHJ四、设计内容:1完成程序的编辑工作。2将音乐数据制作成LMP_ROM文件.3将程序加载到MAX+plusH中进行编译、仿真,并保存仿真结果。4到实验室进行下载验证。弓|脚进行锁定,然后下载到实验芯片中观察实验结果。五、仿真结果:音乐节拍和音调发生器(NoteTabs.VHD)NOTETABS:CLKTOMEIHOEX3-OHSW1TC
3、Hnotetabs模块中设置了一个8位二进制计数器(计数最大值138),作为音符数据ROM的地址发生器。这个计数器的计数频率选为4Hz,即每一个计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。随着notetabs模块中的计数器按4Hz的时钟速率作为加法计数时,即随地址值递增时,音符数据ROM中的音符数据将从ROM中通过ToneIndex3.0端口输向ToneTaba模块,“梁祝”乐曲就开始连续自然的演奏起来了。Notetabs模块仿真图:&noirtabs.wf-WjwTohtitdiiof-赳Rsri|QQnw|爭*1limtg23鼬士|Intsrwi|23f
4、ra|MD.0ns丨INama-归up1MOilsCawiich1c1e111IIIlliIunjnjnriTirLrLrTJ1J-LTUrLTmUTJ-LTUTLHH-QO110011工011、dZCaunkrBOOOQdOOQOaOOQDDDiXOOOOOiQ4QOOQ1DaooQoonQ0QDD1OOCOOIDIIoaflODnaXOM111QZ(HIWsEHap0ewwom曲血汕则OWOOOOlWOQ01000000011*GW0010H000001140KW111LIZderldalaap.0aodODDOO)!woot10400001DK000QDD11OQDD01CO000101
5、1y00000110yQi*SIL叽国曲8Odddddifiddd&dbll血伽00:040d0l0iiOddfidiidil/|muBu1hBW11DD11工的01片JOL?lAddrassp.0SOOWIOOOQOQOQ熾CiXOQQl:OOOdOOtDI00000011I00000100)(COQlOl:”X400001WI%ozD|BWT10011DCQ1Q1片Zananljnlnp.0B0011DQ113CohmJOZ0BWOWOUQ0QQQQQ叫QOMIQUI;1Q0QQQQ1QJL0QQQQQ11QQQQC1WIQQ0QQ11OKwowm简谱码对应的分频预置数查表电路(ToneT
6、aba.VHD)CODE&wOiHOEX.&3HIGHTONEX0.15帚00祁飞MODX0011丫Q10CIfQ011飞01CLK8HZ,SWITCH=pause,Tonelndex=Tonelndex);u2:ToneTabaPORTMAP(Index=Tonelndex,Tone=Tone,CODE=CODE1,HIGH=HIGH1);u3:SpeakeraPORTMAP(clk=CLK4MHZ,Tone=Tone,SpkS=SPKOUT);END;2.音乐节拍和音调发生器(NoteTabs.VHD)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYNoteTabsISPORT(clk:INSTD_LOGIC;switch:INSTD_LOGIC;Tonelndex:OUTSTD_LOGIC_VECTOR(3