VHDL课程设计报告-八音盒.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL课程设计报告-八音盒

华南师范大学 物理与电信工程学院 课程设计报告 课程设计名称 《可编程数字系统》 专 业 学 号 姓 名 指导老师 2015年 5 月 18 日 一、课程设计目的 熟悉EDA工具,掌握用VHDL语言进行数字系统设计的基本方法和流程,提高工程设计实践能力。 二、设计任务 设计八音盒,用VHDL语言描述,用QuartusII工具编译和综合,并在实验板上实现所要求功能和技术指标。 三、功能 通过按键控制播放乐曲或结束播放。 四、设计原理 声音的频谱范围约在几十到几千赫兹,利用程序来控制FPGA芯片某个引脚输出一定频率的矩形波,接上器就能发出相应频率的声音。高频时钟脉冲信号的频率为MHz,曲谱为4HZ。故在本程序中,使用2.5MHZ/2/500/625/2=4 HZ分频,使音长为0.25S。 程序如下: BEGIN JIEPAI1:PROCESS(CLK1) BEGIN IF (CLK1EVENT AND CLK1=1) THEN IF N=500 THEN N=0; JIEPAI=NOT JIEPAI; ELSE IF M=625 THEN M=0; N=N+1; ELSE M=M+1; END IF; END IF; END IF; END PROCESS JIEPAI1; 曲谱存储:把已有的曲谱的每个音节编程,并按顺序读取。 U2:输出模块:读取程序中的曲谱,并输出对应频率的音调。 程序如下: BEGIN IF(CLK2EVENT AND CLK2=1) THEN IF(I=TONE)THEN I=0; CLK_DATA=NOT CLK_DATA; ELSE I=I+1; END IF; END IF; END PROCESS YINPIN; BUZZ=CLK_DATA; END ARCHITECTURE BEHAVE2; U3:音符产生模块:由于本程序选取的曲谱只含有低音,所以只计算低音的分频系数,公式为 分频系数=2.5MHZ/2/音符频率 例如,低音1的分频系数为 2.5MHZ/2/261.6=4778 音名 频率Hz 低音1 261.6 低音2 293.7 低音3 329.6 低音4 349.2 低音5 392 低音6 440 低音7 493.9 程序如下 BEGIN CASE INDEX IS WHEN 0001= TONE=4778;--DO WHEN 0010= TONE=4256;--RE WHEN 0011= TONE=3792;--MI WHEN 0100= TONE=3579;--FA WHEN 0101= TONE=3189;--SO WHEN 0110= TONE=2841;--LA WHEN 0111= TONE=2532;--SI WHEN OTHERS=TONE=0; END CASE; END PROCESS; 六、引脚设置 七、结论与分析 本次设计的八音盒,经过设计实验,大致可以输出固定频率的音调,实现了按键可调播放与结束的功能,大致实现了任务中所规定的基本要求。由于分频使信号固定为4HZ,只能适应一部分乐谱,故程序还需进一步完善。通过这次课程设计,进一步了解了EDA

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档